//map
// var m=new Map();
// var n=new Set();
// console.log('会报错吗');

// map是什么，map是一组键值对的结构，有极快的查找速度
// 两个array
// var names = ['Michael', 'Bob', 'Tracy'];
// var scores = [95, 75, 85];

// var m=new Map([['michael',95],['box',75],['tracy',85]])
// console.log(m.get('michael'));

// var m=new Map()
// console.log(m.set('xas',67));
// console.log(m.has('xas'));
// console.log(m.has('ss'));//添加 查找是否存在 删除
// console.log(m.delete('xas'));
// console.log(m.get('xas'));
// //多次放入值会把前面的值冲掉

// // set ///里面的元素不重复
// // var s1=new set();
// var s2=new set([1,2,3]);
// console.log(s2); //add添加  delete删除



//////----------------------
// iterable
// Array map set 都是iterable类型
// for ... of循环

// var a=['a','b','c'];
// var s=new Set(['a','b','c']);
// var m=new Map([[1,'x'],[2,'y'],[3,'z']])
// for(var x of a){
//     console.log(x);
// }
// for(var l of s){
//     console.log(l);
// }
// for(var o of m){
//     console.log(o[0]+'='+o[1]);
// }

// var a =['A', 'B', 'C'];
// a.name='hello'
// for(var x in a){
//     console.log(x); //0 ,1,2,hello
// }
// for(var x of a){
//     console.log(x);
// }
//有索引
var a=['A', 'B', 'C']
a.forEach(function (element, index, array) {
    console.log(element,index,array);  
})

//set 没有索引
var s=new Set(['A', 'B', 'C'])
s.forEach(function (element,sameElement,set) {
  console.log(element,sameElement,set);  
})

var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
m.forEach(function (value, key, map) {
    console.log(value, key, map);
});

var a = ['A', 'B', 'C'];
a.forEach(function (element) {
    console.log(element);
});

// var a =['A', 'B', 'C'];
// a.name='hello'
// for(var x in a){
//     console.log(x); //0 ,1,2,hello  索引
// }
// for(var x of a){
//     console.log(x); // a,b,c  他自己本身
// }